home *** CD-ROM | disk | FTP | other *** search
- # mplayer(1) completion
-
- have mplayer && {
- _mplayer_options_list()
- {
- cur=${cur%\\}
- COMPREPLY=( $( compgen -W "$( $1 $2 help 2>/dev/null | \
- sed -e '1,/^Available/d' | awk '{print $1}' | \
- sed -e 's/:$//' -e 's/^'${2#-}'$//' -e 's/<.*//' )" -- "$cur" ) )
- }
-
- _mplayer()
- {
- local cmd cur prev skinsdir IFS=$' \t\n' i j k=0
-
- COMPREPLY=()
- cmd=${COMP_WORDS[0]}
- _get_comp_words_by_ref cur prev
-
- case $prev in
- -[av][cfo]|-[av]fm|-vop|-fstype|-demuxer|-o[av]c|-of|-profile)
- _mplayer_options_list $cmd $prev
- return 0
- ;;
- -audiofile)
- _filedir '@(mp3|MP3|mpg|MPG|ogg|OGG|w?(a)v|W?(A)V|mid|MID|flac|FLAC|mka|MKA|ape|APE)'
- return 0
- ;;
- -font)
- _filedir '@(desc|ttf)'
- return 0
- ;;
- -sub)
- _filedir '@(srt|SRT|sub|SUB|txt|TXT|utf|UTF|rar|RAR|mpsub|smi|js|ssa|SSA|ass|ASS)'
- return 0
- ;;
- -vobsub)
- _filedir '@(idx|IDX|ifo|IFO|sub|SUB)'
- IFS=$'\t\n'
- COMPREPLY=( $( for i in "${COMPREPLY[@]}"; do
- if [[ -f $i && -r $i ]]; then
- printf '%s\n' ${i%.*}
- else
- printf '%s\n' $i
- fi
- done ) )
- IFS=$' \t\n'
- return 0
- ;;
- -ifo)
- _filedir '@(ifo|IFO)'
- return 0
- ;;
- -cuefile)
- _filedir '@(bin|BIN|cue|CUE)'
- return 0
- ;;
- -skin)
- # if you don't have installed mplayer in /usr you
- # may want to set the MPLAYER_SKINS_DIR global variable
- if [ -n "$MPLAYER_SKINS_DIR" ]; then
- skinsdir=$MPLAYER_SKINS_DIR
- else
- skinsdir=/usr/share/mplayer/Skin
- fi
-
- IFS=$'\t\n'
- for i in ~/.mplayer/Skin $skinsdir; do
- if [[ -d $i && -r $i ]]; then
- for j in $( compgen -d $i/$cur ); do
- COMPREPLY[$k]=${j#$i/}
- k=$((++k))
- done
- fi
- done
- IFS=$' \t\n'
- return 0
- ;;
- -cdrom-device)
- _cd_devices
- _dvd_devices
- return 0
- ;;
- -dvd-device)
- _dvd_devices
- return 0
- ;;
- -mixer|-dvdauth|-fb|-zrdev)
- cur=${cur:=/dev/}
- _filedir
- return 0
- ;;
- -edl|-edlout|-lircconf|-menu-cfg|-playlist|-csslib|-dumpfile| \
- -subfile|-vobsub|-aofile|-fbmodeconfig|-include|-o|-dvdkey| \
- -passlogfile)
- _filedir
- return 0
- ;;
- -autoq|-autosync|-loop|-menu-root|-speed|-sstep|-aid|-alang| \
- -audo-demuxer|-sub-demuxer|-demuxer|-bandwidth|-cache|-chapter| \
- -dvd|-dvdangle|-fps|-frames|-mc|-passwd|-user|-sb|-srate|-ss|-vcd| \
- -vi|-vid|-vivo|-ffactor|-sid|-slang|-spualign|-spuaa|-spugauss| \
- -vobsubid|-delay|-bpp|-brightness|-contrast|-dfbopts|-display| \
- -fbmode|-geometry|-guiwid|-hue|-icelayer|-screen[wh]|-wid| \
- -monitoraspect|-monitor-dotclock|-monitor-[hv]freq|-panscan| \
- -saturation|-xineramascreen|-zrcrop|-zrnorm|-zrquality| \
- -zr[xy]doff|-zr[vh]dec|-aspect|-pp|-x|-y|-xy|-z|-stereo| \
- -audio-density|-audio-delay|-audio-preload|-endpos|-osdlevel| \
- -ffourcc|-sws|-channels|-skiplimit|-format|-ofps|-aadriver| \
- -aaosdcolor|-aasubcolor|-vobsubout|-vobsuboutid|-vobsuboutindex| \
- -sub-bg-alpha|-sub-bg-color|-sub-cp|-sub-delay|-sub-fps|-sub-pos| \
- -sub-align|-sub-width|-subfont-blur|-subfont-outline| \
- -subfont-autoscale|-subfont-encoding|-subfont-osd-scale| \
- -subfont-osd-text)
- return 0
- ;;
- -lavdopts)
- COMPREPLY=( $( compgen -W 'ec er= bug= idct= gray' -- "$cur" ) )
- return 0
- ;;
- -lavcopts)
- COMPREPLY=( $( compgen -W 'vcodec= vqmin= vqscale= vqmax= mbqmin= \
- mbqmax= vqdiff= vmax_b_frames= vme= vhq v4mv keyint= \
- vb_strategy= vpass= aspect= vbitrate= vratetol= vrc_maxrate= \
- vrc_minrate= vrc_buf_size= vb_qfactor= vi_qfactor= vb_qoffset= \
- vi_qoffset= vqblur= vqcomp= vrc_eq= vrc_override= \
- vrc_init_cplx= vqsquish= vlelim= vcelim= vstrict= vdpart \
- vpsize= gray vfdct= idct= lumi_mask= dark_mask= tcplx_mask= \
- scplx_mask= naq ildct format= pred qpel precmp= cmp= subcmp= \
- predia= dia= trell last_pred= preme= subq= psnr mpeg_quant aic \
- umv' -- "$cur" ) )
- return 0
- ;;
- -ssf)
- COMPREPLY=( $( compgen -W 'lgb= cgb= ls= cs= chs= cvs=' \
- -- "$cur" ) )
- return 0
- ;;
- -jpeg)
- COMPREPLY=( $( compgen -W 'noprogressive progressive nobaseline \
- baseline optimize= smooth= quality= outdir=' -- "$cur" ) )
- return 0
- ;;
- -xvidopts)
- COMPREPLY=( $( compgen -W 'dr2 nodr2' -- "$cur" ) )
- return 0
- ;;
- -xvidencopts)
- COMPREPLY=( $( compgen -W 'pass= bitrate= fixed_quant= me_quality= \
- 4mv rc_reaction_delay_factor= rc_averaging_period= rc_buffer= \
- quant_range= min_key_interval= max_key_interval= mpeg_quant \
- mod_quant lumi_mask hintedme hintfile debug keyframe_boost= \
- kfthreshold= kfreduction=' -- "$cur" ) )
- return 0
- ;;
- -divx4opts)
- COMPREPLY=( $( compgen -W 'br= key= deinterlace q= min_quant= \
- max_quant= rc_period= rc_reaction_period= crispness= \
- rc_reaction_ratio= pass= vbrpass= help' -- "$cur" ) )
- return 0
- ;;
- -info)
- COMPREPLY=( $( compgen -W 'name= artist= genre= subject= \
- copyright= srcform= comment= help' -- "$cur" ) )
- return 0
- ;;
- -lameopts)
- COMPREPLY=( $( compgen -W 'vbr= abr cbr br= q= aq= ratio= vol= \
- mode= padding= fast preset= help' -- "$cur" ) )
- return 0
- ;;
- -rawaudio)
- COMPREPLY=( $( compgen -W 'on channels= rate= samplesize= format=' \
- -- "$cur" ) )
- return 0
- ;;
- -rawvideo)
- COMPREPLY=( $( compgen -W 'on fps= sqcif qcif cif 4cif pal ntsc w= \
- h= y420 yv12 yuy2 y8 format= size=' -- "$cur" ) )
- return 0
- ;;
- -aop)
- COMPREPLY=( $( compgen -W 'list= delay= format= fout= volume= mul= \
- softclip' -- "$cur" ) )
- return 0
- ;;
- -dxr2)
- COMPREPLY=( $( compgen -W 'ar-mode= iec958-encoded iec958-decoded \
- mute ucode= 75ire bw color interlaced macrovision= norm= \
- square-pixel ccir601-pixel cr-left= cr-right= cr-top= cr-bot= \
- ck-rmin= ck-gmin= ck-bmin= ck-rmax= ck-gmax= ck-bmax= ck-r= \
- ck-g= ck-b= ignore-cache= ol-osd= olh-cor= olw-cor= olx-cor= \
- oly-cor= overlay overlay-ratio= update-cache' -- "$cur" ))
- return 0
- ;;
- -tv)
- COMPREPLY=( $( compgen -W 'on noaudio driver= device= input= freq= \
- outfmt= width= height= buffersize= norm= channel= chanlist= \
- audiorate= forceaudio alsa amode= forcechan= adevice= audioid= \
- volume= bass= treble= balance= fps= channels= immediatemode=' \
- -- "$cur" ) )
- return 0
- ;;
- -mf)
- COMPREPLY=( $( compgen -W 'on w= h= fps= type=' -- "$cur" ) )
- return 0
- ;;
- -cdda)
- COMPREPLY=( $( compgen -W 'speed= paranoia= generic-dev= \
- sector-size= overlap= toc-bias toc-offset= skip noskip' \
- -- "$cur" ) )
- return 0
- ;;
- -input)
- COMPREPLY=( $( compgen -W 'conf= ar-delay ar-rate keylist cmdlist \
- js-dev file' -- "$cur" ) )
- return 0
- ;;
- -af)
- COMPREPLY=( $( compgen -W 'resample resample= channels channels= \
- format format= volume volume= delay delay= pan pan= sub sub= \
- surround surround=' -- "$cur" ) )
- return 0
- ;;
- -af-adv)
- COMPREPLY=( $( compgen -W 'force= list=' -- "$cur" ) )
- return 0
- ;;
- esac
-
- case $cur in
- -*)
- COMPREPLY=( $( compgen -W '$( $cmd -list-options 2>/dev/null | \
- sed -ne '1,/^[[:space:]]*Name/d' \
- -e "s/^[[:space:]]*/-/" -e "s/[[:space:]:].*//" \
- -e "/^-\(Total\|.*\*\)\{0,1\}$/!p" )' -- "$cur" ) )
- ;;
- *)
- _filedir '@(mp?(e)g|MP?(E)G|wm[av]|WM[AV]|avi|AVI|asf|ASF|vob|VOB|bin|BIN|dat|DAT|vcd|VCD|ps|PS|pes|PES|fl[iv]|FL[IV]|fxm|FXM|viv|VIV|rm?(j)|RM?(J)|ra?(m)|RA?(M)|yuv|YUV|mov|MOV|qt|QT|mp[234]|MP[234]|m4[av]|M4[AV]|og[gmavx]|OG[GMAVX]|w?(a)v|W?(A)V|dump|DUMP|mk[av]|MK[AV]|m4a|M4A|aac|AAC|m[24]v|M[24]V|dv|DV|rmvb|RMVB|mid|MID|t[ps]|T[PS]|3g[p2]|mpc|MPC|flac|FLAC|vro|VRO|divx|DIVX|aif?(f)|AIF?(F)|m2ts|M2TS|vdr|VDR|xvid|XVID|ape|APE)'
- ;;
- esac
-
- return 0
- }
- complete -o filenames -F _mplayer mplayer mencoder gmplayer kplayer
- }
-
- # Local variables:
- # mode: shell-script
- # sh-basic-offset: 4
- # sh-indent-comment: t
- # indent-tabs-mode: nil
- # End:
- # ex: ts=4 sw=4 et filetype=sh
-